package com.travel.modules.asset.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.travel.commons.validator.groups.AddGroup;
import com.travel.commons.validator.groups.UpdateGroup;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * null
 * @TableName hotel
 */
@Data
@TableName("hotel")
public class Hotel implements Serializable {
    /**
     * id
     *
     */
    @TableId
    private Integer id;

    /**
     * 旅店id
     *
     */
    @NotNull(message = "hotel_id不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String hotelId;

    /**
     * 发布者id
     */
    private Integer userId;
    @TableField(exist = false)
    private String loginName;
    @TableField(exist = false)
    private Integer roleId;
    @TableField(exist = false)
    private String username;

    /**
     * 旅店名称
     *
     */
    @NotBlank(message = "名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String name;

    /**
     * 旅店地址
     *
     */
    @NotBlank(message = "地址不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String address;

    /**
     * 地区id
     */
    private String areaId;
    @TableField(exist = false)
    private String areaName;

    /**
     * 联系电话
     *
     */
    @NotBlank(message = "联系方式不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String phone;

    /**
     * 状态：0-未审核，1-审核通过，2-已撤销
     */
    private Integer status;

    /**
     * 经济间价格/天
     *
     */
    private BigDecimal economyPrice;

    /**
     * 单人间价格/天
     *
     */
    private BigDecimal singlePrice;

    /**
     * 双人间价格/天
     *
     */
    private BigDecimal doublePrice;

    /**
     * 多人间价格/天
     *
     */
    private BigDecimal manyPrice;

    /**
     * 套房价格/天
     *
     */
    private BigDecimal vipPrice;

    /**
     * 创建时间
     *
     */
    private Date createTime;

    /**
     * 类型：1-酒店，2-民宿
     */
    private Integer type;

    /**
     * 星级
     */
    private Integer star;

    /**
     * 图片
     */
    private String pic;

    /**
     * 有哪些房型，0-经济间，1-单人间，2-双人间，3-多人间，4-大床，5-套房，多个以英文逗号隔开
     */
    private String roomType;

    /**
     * 热度
     */
    private Integer hot;

    /**
     * 好评数
     */
    private Integer reputation;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table hotel
     */
    private static final long serialVersionUID = 1L;
}